﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct org {
    long long sw;
    long long su;
};

int main() {
    int n, k;
    cin >> n >> k;
    vector<org> orgi(n);
    for (int i = 0; i < n; i++) cin >> orgi[i].su;
    for (int i = 0; i < n; i++) cin >> orgi[i].sw;

    sort(orgi.begin(), orgi.end(), [](const org& o1, const org& o2) {
        if (o1.sw > o2.sw)
            return true;
        else if (o1.sw == o2.sw && o2.su > o1.su)
            return true;
        else
            return false;
        });

    long long sw = 0;
    long long su = 0;
    for (int i = 0; i < k; i++)
    {
        sw += orgi[i].sw;
        su += orgi[i].su;
    }
    cout << su << ' ' << sw;
    return 0;
}